#! /usr/bin/env node

// const {} = requiire("");
// const { program } = require("commander");
// const inquirer = require("inquirer");
// const { version } = require("./package.json");
// const download = require("download-git-repo");
// const ora = require("ora");

// const promptList = [
//   {
//     type: "list",
//     message: "请选择你的框架",
//     name: "names",
//     choices: ["vue", "react"],
//   },
// ];
// program
//   .version(version, "-v --version")
//   .option("-a --add", "add file")
//   .option("-d --del", "del file")
//   .action((name, com, openers) => {
//     console.log(name.add);
//     // if (name.add) {
//     //   console.log("添加文件");
//     // }
//     const oratxt = ora('download............')
//     inquirer.prompt(promptList).then(res=>{
//         console.log(res);
//         let {names} =res;
//         const url = `github:Wzybnzy/${names}`
//         oratxt.start();
//         download(url,com.args[0],(err)=>{
//           if(!err){
//             console.log('下载成功');
//             oratxt.succeed()
//           }else{
//             console.log('下载失败');
//             oratxt.fail()
//           }
//         })
//     })

//   })
//   .parse(process.argv);
// const options = program.opts();

// const {
//   existsSync,
//   mkdirSync,
//   readdirSync,
//   statSync,
//   copyFileSync,
//   unlinkSync,
//   rmdirSync,
// } = require("fs");
// const { count } = require("console");
// const path = require("path");
// const rootpath = process.cwd();
// program
//   .option("-d --dfile", "show file name")
//   .option("-l --lfile", "show file info")
//   .action((name, com) => {
//     const args = com.args[0];

//     if (!args) {
//       Showfile(rootpath);
//     } else {
//       console.log("有");
//       const itempath = path.join(rootpath, args);

//       if (name.dfile) {
//         Showfile(itempath);

//         if (name.lfile) {
//           if (existsSync(itempath)) {
//             let dirarr = readdirSync(itempath);
//             dirarr.map((item) => {
//               const keypath = path.join(itempath, item);
//               const info = statSync(keypath);
//               console.log(info);
//               console.log(info.size, "11");
//               console.log(path.extname(keypath));
//             });
//           }
//         }
//       }
//     }
//   })
//   .parse(process.argv);

// function Showfile(path) {
//   if (existsSync(path)) {
//     let dirarr = readdirSync(path);
//     if (statSync(path).isDirectory()) {
//       dirarr.map((item) => {
//         console.log(item);
//       });
//     }
//   }
// }

const args = process.argv.slice(2);
const rootpath = process.cwd();
const path = require("path");
const fs = require("fs");

const path1 = path.join(rootpath, args[0]);
const path2 = path.join(rootpath, args[1]);
funs(path1, path2);
function funs(path1, path2) {
  if (!fs.existsSync(path2)) {
    fs.mkdirSync(path2);
  }
  let dirarr = fs.readdirSync(path4); //这里错了
  dirarr.map((item) => {
    let itempath = path.join(path1, item);
    if (fs.statSync(itempath).isFile()) {
      fs.copyFileSync(itempath, path.join(path2, item));
    } else {
      funs(itempath, path.join(path2, item));
    }
  });
}
